from pptx import Presentation
from pptx.util import Inches, Pt


def create_ppt():
    # 创建一个16:9比例的演示文稿
    prs = Presentation()
    prs.slide_width = Inches(13.33)  # 16:9宽度
    prs.slide_height = Inches(7.5)  # 16:9高度

    # 辅助函数：添加标题幻灯片
    def add_title_slide(prs, title, subtitle):
        slide_layout = prs.slide_layouts[0]  # 标题幻灯片
        slide = prs.slides.add_slide(slide_layout)
        slide.shapes.title.text = title
        slide.placeholders[1].text = subtitle
        return slide

    # 辅助函数：添加内容幻灯片，带标题和段落列表
    def add_content_slide(prs, title, content_list):
        slide_layout = prs.slide_layouts[1]  # 标题+内容
        slide = prs.slides.add_slide(slide_layout)
        slide.shapes.title.text = title
        content = slide.placeholders[1].text_frame
        content.clear()
        for i, paragraph in enumerate(content_list):
            p = content.add_paragraph() if i > 0 else content.paragraphs[0]
            p.text = paragraph
            p.font.size = Pt(24)
            p.space_after = Pt(10)
            if i == 0:
                p.font.bold = True
        return slide

    # 1. 课程封面
    add_title_slide(prs, "ChatGPT 高级语音模式 101", "探索语音交互的未来\n讲师：[讲师姓名]    日期：[日期]")

    # 2. 课程目标与概述
    add_content_slide(prs, "课程目标与概述", [
        "目标：了解 ChatGPT 的语音交互能力，掌握其在实际应用中的使用方法。",
        "概述：介绍 ChatGPT 的语音输入与输出功能，展示其在不同场景中的应用。"
    ])

    # 3. 什么是 ChatGPT 高级语音模式？
    add_content_slide(prs, "什么是 ChatGPT 高级语音模式？", [
        "定义：结合自然语言处理与语音识别技术，实现更自然的语音交互。",
        "特点：",
        "- 实时语音识别与合成",
        "- 支持多种语言与方言",
        "- 上下文理解与对话记忆"
    ])

    # 4. 技术架构与工作原理
    add_content_slide(prs, "技术架构与工作原理", [
        "语音识别：将语音转换为文本的过程。",
        "自然语言处理：理解文本内容并生成响应。",
        "语音合成：将文本转换为自然流畅的语音输出。"
    ])

    # 5. 实际应用场景
    add_content_slide(prs, "实际应用场景", [
        "智能助手：如 Siri、Google Assistant 的语音交互。",
        "客服系统：自动语音客服的实现。",
        "教育领域：语音导览与互动学习。"
    ])

    # 6. 如何使用 ChatGPT 高级语音模式？
    add_content_slide(prs, "如何使用 ChatGPT 高级语音模式？", [
        "设备要求：支持麦克风和扬声器的设备。",
        "软件设置：安装必要的语音识别与合成软件。",
        "操作步骤：",
        "1. 激活语音输入。",
        "2. 提出问题或指令。",
        "3. 等待 ChatGPT 响应。"
    ])

    # 7. 优势与挑战
    add_content_slide(prs, "优势与挑战", [
        "优势：",
        "- 提升用户体验",
        "- 实现多任务处理",
        "- 增强互动性",
        "挑战：",
        "- 语音识别的准确性",
        "- 多语言支持的广泛性",
        "- 上下文理解的深度"
    ])

    # 8. 未来发展趋势
    add_content_slide(prs, "未来发展趋势", [
        "多模态交互：结合语音、图像、文本等多种输入方式。",
        "情感识别：根据用户语气调整响应。",
        "个性化定制：根据用户偏好调整语音风格与内容。"
    ])

    # 9. 总结与问答
    add_content_slide(prs, "总结与问答", [
        "总结：ChatGPT 的高级语音模式为用户提供了更自然、高效的交互方式。",
        "问答环节：解答学员在使用过程中遇到的问题。"
    ])

    # 保存文件
    prs.save("ChatGPT_高级语音模式_101课程.pptx")
    print("PPT文件已生成：ChatGPT_高级语音模式_101课程.pptx")


if __name__ == '__main__':
    create_ppt()
